home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#) olgx.h 1.48 93/06/28
- */
-
- /*
- * OPEN LOOK object drawing package
- * Sun Microsystems, Inc.,
- */
-
- #ifndef OL_PUBLIC_DEFINED
- #define OL_PUBLIC_DEFINED
-
- #include <X11/Xlib.h>
- #ifdef OW_I18N
- #if ! defined(XlibSpecificationRelease) || XlibSpecificationRelease < 5
- #include <X11/XlibR5.h>
- #endif /* XlibSpecificationRelease != 5 */
- #endif /* OW_I18N */
-
- /*
- * Package constant definitions
- */
-
-
- /*
- * Monitor dependent definitons
- */
-
- #define OLGX_2D 0
- #define OLGX_3D_COLOR 1
- #define OLGX_3D_MONO 2
-
-
-
-
- /* GC number definitions */
-
- #define NONE -1 /* means "don't draw in this color" */
- #define OLGX_WHITE 0
- #define OLGX_BLACK 1
- #define OLGX_BG1 2
- #define OLGX_BG2 3
- #define OLGX_BG3 4
- #define OLGX_NUM_COLORS 5 /* 1 more than last *color* GC */
-
- #define OLGX_TEXTGC 5
- #define OLGX_GREY_OUT 6 /* Inactive GC */
- #define OLGX_BUSYGC 7
- #define OLGX_SCROLL_GREY_GC 8 /* Special GC for 50% black cable */
- #define OLGX_NUM_GCS 9 /* always 1 more than last GC */
-
- /* 2D gc definitions */
-
- #define OLGX_TEXTGC_REV 2 /* Is used only for 2D hence
- substituted for OLGX_BG1
- */
- /*
- * State Flag Definitions
- */
- #define OLGX_NORMAL 0x0000 /* normal button */
- #define OLGX_INVOKED 0x0001 /* invoked button */
- #define OLGX_MENU_ITEM 0x0002 /* menu item */
- #define OLGX_ERASE 0x0004 /* erase first (only for menu items) */
- #define OLGX_BUSY 0x0008 /* busy item */
- #define OLGX_DEFAULT 0x0010 /* default item */
- #define OLGX_INACTIVE 0x0020 /* inactive item */
- #define OLGX_VERT_MENU_MARK 0x0040 /* include a vertical menu mark */
- #define OLGX_HORIZ_MENU_MARK 0x0080 /* include a horizontal menu mark */
- #define OLGX_VERT_BACK_MENU_MARK 0x2000 /* include a vertical menu mark */
- #define OLGX_HORIZ_BACK_MENU_MARK 0x4000/* include a horizontal menu mark */
- #define OLGX_DIAMOND_MARK 0x8000 /* include a diamond mark */
- #define OLGX_MENU_MARK 0x00c0 /* VERT_MENU_MARK | HORIZ_MENU_MARK */
- #define OLGX_LABEL_IS_PIXMAP 0x0200 /* button label is a pixmap */
- #define OLGX_LABEL_IS_XIMAGE 0x2000 /* button label is an ximage */
- #define OLGX_LABEL_HAS_UNDERLINE 0x0800 /* button label has underline */
- #define OLGX_LABEL_HAS_HIGHLIGHT 0x1000 /* button label has highlight */
- #ifdef OW_I18N
- #define OLGX_LABEL_IS_WCS 0x10000 /* button label is a wide char str */
- #endif
- #define OLGX_VERTICAL 0x0800 /* orientation is vertical */
- #define OLGX_HORIZONTAL 0x1000 /* orientation is horizontal */
- #define OLGX_PUSHPIN_OUT 0x2000 /* pushpin is in */
- #define OLGX_PUSHPIN_IN 0x4000 /* pushpin is out */
- #define OLGX_UPDATE 0x8000 /* object is to be updated */
- #define OLGX_ABBREV 0x0100 /* object is abbreviated */
- #define OLGX_CHECKED 0x0002 /* object is checked (check boxes) */
- #define OLGX_MORE_ARROW 0x0400 /* more arrow added for truncated text */
-
- /* scrollbar -2d stateflag defns */
-
- #define OLGX_SCROLL_FORWARD 0x0002 /*scroll forward */
- #define OLGX_SCROLL_BACKWARD 0x2000 /*scroll backward */
- #define OLGX_SCROLL_ABSOLUTE 0x4000 /*scroll absolute-
- center darkened */
- #define OLGX_SCROLL_NO_FORWARD 0x0040 /* no scroll forward */
- #define OLGX_SCROLL_NO_BACKWARD 0x0080 /* no scroll backward */
-
- /*
- * corner definitions
- */
-
- #define OLGX_UPPER_LEFT 0
- #define OLGX_UPPER_RIGHT 1
- #define OLGX_LOWER_RIGHT 2
- #define OLGX_LOWER_LEFT 3
-
- /*
- * Special Definition !!
- *
- */
-
- #define OLGX_SPECIAL 1
-
- /*
- * character definitions
- */
- #define OLG_VSB_ELEVATOR 1
- #define OLG_VSB_ELEVATOR_LINE_BACKWARD 2
- #define OLG_VSB_ELEVATOR_ABSOLUTE 3
- #define OLG_VSB_ELEVATOR_LINE_FORWARD 4
- #define OLG_VSB_REDUCED_ELEVATOR 5
- #define OLG_VSB_REDUCED_ELEVATOR_LINE_BACKWARD 6
- #define OLG_VSB_REDUCED_ELEVATOR_LINE_FORWARD 7
- #define OLG_VSB_ANCHOR 8
- #define OLG_VSB_ANCHOR_INVERTED 9
- #define OLG_HSB_ELEVATOR 10
- #define OLG_HSB_ELEVATOR_LINE_BACKWARD 11
- #define OLG_HSB_ELEVATOR_ABSOLUTE 12
- #define OLG_HSB_ELEVATOR_LINE_FORWARD 13
- #define OLG_HSB_REDUCED_ELEVATOR 14
- #define OLG_HSB_REDUCED_ELEVATOR_LINE_BACKWARD 15
- #define OLG_HSB_REDUCED_ELEVATOR_LINE_FORWARD 16
- #define OLG_HSB_ANCHOR 17
- #define OLG_HSB_ANCHOR_INVERTED 18
- #define OLG_MENU_PIN_OUT 19
- #define OLG_MENU_PIN_IN 20
- #define OLG_MENU_DEFAULT_PIN_OUT 21
- #define OLG_ABBREV_MENU_BUTTON 22
- #define OLG_ABBREV_MENU_BUTTON_INVERTED 23
- /* new extension */
- #define BUTTON_UL 24
- #define BUTTON_LL 25
- #define BUTTON_LEFT_ENDCAP_FILL 26
- #define BUTTON_LR 27
- #define BUTTON_UR 28
- #define BUTTON_RIGHT_ENDCAP_FILL 29
- #define BUTTON_TOP_1 30
- #define BUTTON_TOP_2 31
- #define BUTTON_TOP_4 32
- #define BUTTON_TOP_8 33
- #define BUTTON_TOP_16 34
- #define BUTTON_BOTTOM_1 35
- #define BUTTON_BOTTOM_2 36
- #define BUTTON_BOTTOM_4 37
- #define BUTTON_BOTTOM_8 38
- #define BUTTON_BOTTOM_16 39
- #define BUTTON_FILL_1 40
- #define BUTTON_FILL_2 41
- #define BUTTON_FILL_4 42
- #define BUTTON_FILL_8 43
- #define BUTTON_FILL_16 44
- #define VERT_MENU_MARK_UL 45
- #define VERT_MENU_MARK_LR 46
- #define VERT_MENU_MARK_FILL 47
- #define HORIZ_MENU_MARK_UL 48
- #define HORIZ_MENU_MARK_LR 49
- #define HORIZ_MENU_MARK_FILL 50
- #define ABBREV_MENU_UL 51
- #define ABBREV_MENU_LR 52
- #define ABBREV_MENU_FILL 53
- #define VERT_SB_UL 54
- #define VERT_SB_LR 55
- #define VERT_SB_TOPBOX_FILL 56
- #define HORIZ_SB_UL 57
- #define HORIZ_SB_LR 58
- #define VERT_SB_BOTBOX_FILL 59
- #define HORIZ_SLIDER_CONTROL_UL 60
- #define HORIZ_SLIDER_CONTROL_LR 61
- #define HORIZ_SLIDER_CONTROL_FILL 62
- #define HORIZ_SLIDER_UL 63
- #define HORIZ_SLIDER_LL 64
- #define HORIZ_SLIDER_UR 65
- #define HORIZ_SLIDER_LR 66
- #define HORIZ_SLIDER_BOTTOM_1 67
- #define HORIZ_SLIDER_BOTTOM_2 68
- #define HORIZ_SLIDER_BOTTOM_4 69
- #define HORIZ_SLIDER_BOTTOM_8 70
- #define HORIZ_SLIDER_BOTTOM_16 71
- #define HORIZ_SLIDER_FILL_1 72
- #define HORIZ_SLIDER_FILL_2 73
- #define HORIZ_SLIDER_FILL_4 74
- #define HORIZ_SLIDER_FILL_8 75
- #define HORIZ_SLIDER_FILL_16 76
- #define HORIZ_SLIDER_LEFT_ENDCAP_FILL 77
- #define HORIZ_SLIDER_RIGHT_ENDCAP_FILL 78
- #define VERT_SLIDER_UL 79
- #define VERT_SLIDER_UR 80
- #define VERT_SLIDER_TOP_ENDCAP_FILL 81
- #define VERT_SLIDER_LL 82
- #define VERT_SLIDER_LR 83
- #define VERT_SLIDER_BOTTOM_ENDCAP_FILL 84
- #define VERT_SLIDER_CONTROL_UL 85
- #define VERT_SLIDER_CONTROL_LR 86
- #define VERT_SLIDER_CONTROL_FILL 87
- #define UL_RESIZE_UL 88
- #define UL_RESIZE_LR 89
- #define UL_RESIZE_FILL 90
- #define UR_RESIZE_UL 91
- #define UR_RESIZE_LR 92
- #define UR_RESIZE_FILL 93
- #define LR_RESIZE_UL 94
- #define LR_RESIZE_LR 95
- #define LR_RESIZE_FILL 96
- #define LL_RESIZE_UL 97
- #define LL_RESIZE_LR 98
- #define LL_RESIZE_FILL 99
- #define PUSHPIN_OUT_TOP 100
- #define PUSHPIN_OUT_BOTTOM 101
- #define PUSHPIN_OUT_MIDDLE 102
- #define PUSHPIN_IN_TOP 103
- #define PUSHPIN_IN_BOTTOM 104
- #define PUSHPIN_IN_MIDDLE 105
- #define DFLT_BUTTON_LEFT_ENDCAP 106
- #define DFLT_BUTTON_RIGHT_ENDCAP 107
- #define DFLT_BUTTON_MIDDLE_1 108
- #define DFLT_BUTTON_MIDDLE_2 109
- #define DFLT_BUTTON_MIDDLE_4 110
- #define DFLT_BUTTON_MIDDLE_8 111
- #define DFLT_BUTTON_MIDDLE_16 112
- #define BASE_OFF_SPECIALCHAR 113 /*special char */
- #define UNCHECKED_BOX_UL 114
- #define UNCHECKED_BOX_LR 115
- #define UNCHECKED_BOX_FILL 116
- #define CHECK_MARK 117
- #define CHECKED_BOX_FILL 118
- #define UNCHECKED_BOX_OUTLINE 119
- #define HORIZ_GAUGE_UL 120
- #define HORIZ_GAUGE_LL 121
- #define HORIZ_GAUGE_UR 122
- #define HORIZ_GAUGE_LR 123
- #define HORIZ_GAUGE_BOTTOM_1 124
- #define HORIZ_GAUGE_BOTTOM_2 125
- #define HORIZ_GAUGE_BOTTOM_4 126
- #define HORIZ_GAUGE_BOTTOM_8 127
- #define HORIZ_GAUGE_BOTTOM_16 128
- #define VERT_GAUGE_UL 129
- #define VERT_GAUGE_UR 130
- #define VERT_GAUGE_LL 131
- #define VERT_GAUGE_LR 132
- #define VERT_ABBREV_SB_UL 133
- #define VERT_ABBREV_SB_LR 134
- #define HORIZ_SB_RIGHTBOX_FILL 135
- #define HORIZ_ABBREV_SB_UL 136
- #define HORIZ_ABBREV_SB_LR 137
- #define HORIZ_SB_LEFTBOX_FILL 138
- #define BUTTON_OUTLINE_LEFT_ENDCAP 139
- #define BUTTON_OUTLINE_RIGHT_ENDCAP 140
- #define BUTTON_OUTLINE_MIDDLE_1 141
- #define BUTTON_OUTLINE_MIDDLE_2 142
- #define BUTTON_OUTLINE_MIDDLE_4 143
- #define BUTTON_OUTLINE_MIDDLE_8 144
- #define BUTTON_OUTLINE_MIDDLE_16 145
- #define BUTTON_FILL_2D_LEFTENDCAP 146
- #define BUTTON_FILL_2D_RIGHTENDCAP 147
- #define BUTTON_FILL_2D_MIDDLE_1 148
- #define BUTTON_FILL_2D_MIDDLE_2 149
- #define BUTTON_FILL_2D_MIDDLE_4 150
- #define BUTTON_FILL_2D_MIDDLE_8 151
- #define BUTTON_FILL_2D_MIDDLE_16 152
- #define MENU_DFLT_OUTLINE_LEFT_ENDCAP 153
- #define MENU_DFLT_OUTLINE_RIGHT_ENDCAP 154
- #define MENU_DFLT_OUTLINE_MIDDLE_1 155
- #define MENU_DFLT_OUTLINE_MIDDLE_2 156
- #define MENU_DFLT_OUTLINE_MIDDLE_4 157
- #define MENU_DFLT_OUTLINE_MIDDLE_8 158
- #define MENU_DFLT_OUTLINE_MIDDLE_16 159
- #define PIXLABEL_BUTTON_UL 160
- #define PIXLABEL_BUTTON_LL 161
- #define UL_RESIZE_OUTLINE 162
- #define UR_RESIZE_OUTLINE 163
- #define LR_RESIZE_OUTLINE 164
- #define LL_RESIZE_OUTLINE 165
- #define VERT_SB_NO_BACK_OUTLINE 166
- #define VERT_SB_NO_FWD_OUTLINE 167
- #define VERT_SB_INACTIVE_OUTLINE 168
- #define HORIZ_SB_NO_BACK_OUTLINE 169
- #define HORIZ_SB_NO_FWD_OUTLINE 170
- #define HORIZ_SB_INACTIVE_OUTLINE 171
- #define HORIZ_SLIDER_CONTROL_OUTLINE 172
- #define HORIZ_SLIDER_LEFT_ENDCAP_OUTLINE 173
- #define HORIZ_SLIDER_RIGHT_ENDCAP_OUTLINE 174
- #define HORIZ_SLIDER_OUTLINE_1 175
- #define HORIZ_SLIDER_OUTLINE_2 176
- #define HORIZ_SLIDER_OUTLINE_4 177
- #define HORIZ_SLIDER_OUTLINE_8 178
- #define HORIZ_SLIDER_OUTLINE_16 179
- #define VERT_SLIDER_TOP_ENDCAP_OUTLINE 180
- #define VERT_SLIDER_BOTTOM_ENDCAP_OUTLINE 181
- #define VERT_SLIDER_CONTROL_OUTLINE 182
- #define PUSHPIN_OUT_DEFAULT_TOP 183
- #define PUSHPIN_OUT_DEFAULT_BOTTOM 184
- #define PUSHPIN_OUT_DEFAULT_MIDDLE 185
- #define HORIZ_GAUGE_LEFT_ENDCAP_OUTLINE 186
- #define HORIZ_GAUGE_RIGHT_ENDCAP_OUTLINE 187
- #define HORIZ_GAUGE_OUTLINE_MIDDLE_1 188
- #define HORIZ_GAUGE_OUTLINE_MIDDLE_2 189
- #define HORIZ_GAUGE_OUTLINE_MIDDLE_4 190
- #define HORIZ_GAUGE_OUTLINE_MIDDLE_8 191
- #define HORIZ_GAUGE_OUTLINE_MIDDLE_16 192
- #define CHECK_BOX_CLEAR_FILL 193
- #define VERT_SB_BOX_UL 194
- #define VERT_SB_BOX_LR 195
- #define DIMPLE_UL 196
- #define DIMPLE_LR 197
- #define DIMPLE_FILL 198
- #define SLIDER_CHANNEL_OFFSET 199 /* special char */
- #define HORIZ_SB_BOX_UL 200
- #define HORIZ_SB_BOX_LR 201
- #define VERT_BACK_MENU_MARK_UL 202
- #define VERT_BACK_MENU_MARK_LR 203
- #define VERT_BACK_MENU_MARK_FILL 204
- #define HORIZ_BACK_MENU_MARK_UL 205
- #define HORIZ_BACK_MENU_MARK_LR 206
- #define HORIZ_BACK_MENU_MARK_FILL 207
- #define OLGX_ACTIVE_CARET 208
- #define OLGX_INACTIVE_CARET 209
- #define VERT_GAUGE_TOPENDCAP 210
- #define VERT_GAUGE_BOTENDCAP 211
- #define PIXLABEL_BUTTON_UR 212
- #define PIXLABEL_BUTTON_LR 213
- #define PIXLABEL_BUTTON_2D_LR 214
- #define PIXLABEL_DEF_BUTTON_UL 215
- #define PIXLABEL_DEF_BUTTON_LL 216
- #define PIXLABEL_DEF_BUTTON_UR 217
- #define PIXLABEL_DEF_BUTTON_LR 218
- #define HORIZ_GAUGE_LEFT_ENDFILL 219
- #define HORIZ_GAUGE_MIDDLE_FILL_1 220
- #define HORIZ_GAUGE_MIDDLE_FILL_2 221
- #define HORIZ_GAUGE_MIDDLE_FILL_4 222
- #define HORIZ_GAUGE_MIDDLE_FILL_8 223
- #define HORIZ_GAUGE_MIDDLE_FILL_16 224
- #define HORIZ_GAUGE_RIGHT_ENDFILL 225
- #define VERT_GAUGE_TOP_FILL 226
- #define VERT_GAUGE_BOT_FILL 227
- #define TEXTSCROLLBUTTON_LEFT 228
- #define TEXTSCROLLBUTTON_RIGHT 229
- #define TEXTSCROLLBUTTON_LEFT_INV 230
- #define TEXTSCROLLBUTTON_RIGHT_INV 231
- #define NUMERIC_SCROLL_BUTTON_NORMAL 232
- #define NUMERIC_SCROLL_BUTTON_LEFT_INV 233
- #define NUMERIC_SCROLL_BUTTON_RIGHT_INV 234
-
-
- /*
- * Definitions needed for XView
- */
-
-
- #define OLGX_VAR_HEIGHT_BTN_MARGIN 10
- #define OLGX_CHOICE_MARGIN 10
- #define OLGX_VAR_HEIGHT_BTN_ENDCAP_WIDTH 5
-
-
- #ifdef OW_I18N
-
- /*
- * Definision for the Graphics Info flag (Olgx_Flags)
- */
-
- #define OLGX_FONTSET (1<<0)
-
- #endif /* OW_I18N */
-
- /*
- * Type and Structure Definitions
- */
-
-
- typedef struct _GC_rec {
- GC gc;
- short ref_count;
- int num_cliprects; /* Information to set clip rectangles
- XID clipmask; * or clipmasks on the GCs
- int clip_flag; */
- unsigned long valuemask; /* what fields are being used */
- XGCValues values; /* Values stored */
- struct _GC_rec * next; /* Pointer to the next gc_info in the list */
- int depth;
- } GC_rec;
-
- typedef struct pixlabel {
- Pixmap pixmap;
- int width,height;
- } Pixlabel;
-
- typedef struct ximlabel {
- XImage *ximage;
- int width,height;
- } Ximlabel;
-
- typedef struct underlinelabel {
- void *label;
- int position;
- } Underlinelabel;
-
- #ifdef OW_I18N
- typedef union olgx_font_or_fs{
- XFontSet fontset; /* ptr to text font set info */
- XFontStruct *fontstruct; /* ptr to text font info */
- } Olgx_font_or_fs;
- #endif
-
- /*
- * Graphics information structure
- */
- typedef struct graphics_info {
- Display *dpy;
- int scrn;
- unsigned int depth; /* depth in which we are drawing */
- XFontStruct *glyphfont; /* ptr to glyph font info*/
- #ifdef OW_I18N
- Olgx_font_or_fs utextfont;
- #else
- XFontStruct *textfont; /* ptr to text font info */
- #endif
- short three_d; /* Either one of OLGX_2D,
- * OLGX_3D_COLOR,OLGX_3D_MONO
- */
-
- GC_rec * gc_rec[OLGX_NUM_GCS];
-
- /* OLGX_3D_MONO has been nuked....
- * info->stipple_pixmaps[3] has been changed to info->drawable[3]
- * and info->drawable[0] is used for storing the drawable associated
- * with the ginfo. In other words, since stipple_pixmaps is no
- * longer going to be used, we are using up this space to
- * avoid binary compatiblity problem between 2.0 and 3.0
- * info->drawable[1-2] are still blank.
- */
- #ifdef OW_I18N
- /*
- * with OW_I18N, info->drawable[1] is redefined to be Olgx_Flags
- * (macro). This Olgx_Flags being used to distinguish between
- * i18n/fontset and main/fontstruct instance.
- */
- #define _Olgx_Flags drawable[1]
- #endif /* OW_I18N */
- Pixmap drawable[3];
- unsigned long pixvals[OLGX_NUM_COLORS];
-
- /*
- * important OPEN LOOK values associated with this glyph font
- */
-
- short button_height; /* height of buttons */
- short endcap_width; /* size of button endcap */
- short sb_width, sb_height; /* scrollbar elevator size */
- short abbrev_width; /* abbrev menu button size */
- short slider_width, slider_height; /* slider control size */
- short se_width, se_height; /* slider endcap size */
- short mm_width, mm_height; /* menu mark size */
- short base_off ; /* Text base_off */
- short slider_offset ; /*SliderChanneloffset */
- short cb_width, cb_height; /* check box size */
- short pp_width, pp_height; /* push pin size*/
- short gauge_width,gauge_height ; /* gauge width& height*/
- short textscbu_width ; /* text scroll button width */
- short gauge_endcapOffset ; /* Offset between the endcap and gauge
- * channel
- */
- short numscbu_width; /* Number Scrolling button Width */
- short resize_arm_width; /* Resize Corner Width */
- short abbsb_height ; /* Abbreviated Scrollbar Height */
- short cable_offset ; /* Cable offset distance from
- * the Scrollbar origin */
- short cable_width ; /* Width of the Cable */
- short point_size ; /* Pixel Point size of the Font */
- short dtarget_height; /* Drop Target Height */
- short dtarget_width; /* Drop Target Width */
- short dtarget_swidth; /* Drop Target Stroke Width */
- short dtarget_ewidth; /* Drop Target Edge Width */
-
-
- } Graphics_info;
-
-
- /* Public macro definitions to get info from the Ginfo struct */
-
-
- #define ScrollbarElevator_Height(info) \
- (info->three_d)?((info)->sb_height-1):((info)->sb_height)
-
- #define ScrollbarElevator_Width(info) \
- (info->three_d)?((info)->sb_width-1):((info) ->sb_width)
-
-
- #define HorizSliderControl_Width(info) ((info)->slider_width)
- #define HorizSliderControl_Height(info) ((info)->slider_height)
- #define SliderEndCap_Width(info) ((info)->se_width)
- #define SliderEndCap_Height(info) ((info)->se_height)
- #define CheckBox_Height(info) ((info)->cb_height)
- #define CheckBox_Width(info) ((info)->cb_width)
- #define PushPinIn_Width(info) ((info)->pp_height)
- #define PushPinOut_Width(info) ((info)->pp_width)
- #define PushPinOut_Height(info) ((info)->pp_height)
- #define ButtonEndcap_Width(info) ((info)->endcap_width)
- #define Button_Height(info) \
- ((info->three_d)?((info)->button_height-1):((info)->button_height))
- #define MenuMark_Width(info) ((info)->mm_width)
- #define MenuMark_Height(info) ((info)->mm_height)
- #define Abbrev_MenuButton_Height(info) ((info)->abbrev_width -1)
- #define Abbrev_MenuButton_Width(info) ((info)->abbrev_width)
- #define Gauge_EndCapWidth(info) ((info)->gauge_width)
- #define Gauge_EndCapHeight(info) ((info)->gauge_height)
- #define Gauge_EndCapOffset(info) ((info)->gauge_endcapOffset)
- #define TextScrollButton_Width(info) ((info)->textscbu_width)
- #define TextScrollButton_Height(info) ((info)->textscbu_width)
- #define NumScrollButton_Width(info) ((info)->numscbu_width)
- #define NumScrollButton_Height(info) ((info)->textscbu_width)
- #define ResizeArm_Width(info) ((info)->resize_arm_width)
- #define ResizeArm_Height(info) ((info)->resize_arm_width)
- #ifdef OW_I18N
- #define Ascent_of_TextFont(info) ((info)->utextfont.fontstruct->ascent)
- #define Descent_of_TextFont(info) ((info)->utextfont.fontstruct->descent)
- #else
- #define Ascent_of_TextFont(info) ((info)->textfont->ascent)
- #define Descent_of_TextFont(info) ((info)->textfont->descent)
- #endif
- #define Ascent_of_GlyphFont(info) ((info)->glyphfont->ascent)
- #define Descent_of_GlyphFont(info) ((info)->glyphfont->descent)
- #define Pointsize_Glyph(info) ((info)->point_size)
- #define Vertsb_Endbox_Height(info) (SliderEndCap_Height(info) + 1)
- #define Vertsb_Endbox_Width(info) (ScrollbarElevator_Width(info))
- #define Dimension(info) ((info)->three_d)
- #ifdef OW_I18N
- #define TextFont_Struct(info) ((info)->utextfont.fontstruct)
- #define TextFont_Set(info) ((info)->utextfont.fontset)
- #define Olgx_Flags(info) ((info)->_Olgx_Flags)
- #else
- #define TextFont_Struct(info) ((info)->textfont)
- #endif
- #define GlyphFont_Struct(info) ((info)->glyphfont)
- #define AbbScrollbar_Height(ginfo) ((info)->abbsb_height)
- #define DropTarget_Width(info) ((info)->dtarget_width)
- #define DropTarget_Height(info) ((info)->dtarget_height)
-
- /*
- * Public macros to calculate the positions for menu accelerators`
- */
-
- #define ButtonSpace_Width(info) ((info)->mm_width)
- #define MainLabel_Pos(info,x) (x + (info)->endcap_width)
- #define ButtonMark_Pos(info,m_pos,max_mlabel_length,max_qlabel_length) \
- (m_pos+ButtonSpace_Width(info)*3+(max_mlabel_length)+(max_qlabel_length))
- #define KeyLabel_Pos(info,mark_pos) (mark_pos + ButtonSpace_Width(info)*2)
- #define QualifierLabel_Pos(info,mark_pos,qlabel_length) \
- (mark_pos - ButtonSpace_Width(info) - qlabel_length)
- #define Button_Width(info,x,key_pos,max_klabel_length) \
- (key_pos + (info)->endcap_width + max_klabel_length -x)
-
- /*
- * Public function declarations
- */
-
-
- Graphics_info * olgx_main_initialize();
- #ifdef OW_I18N
- Graphics_info * olgx_i18n_initialize();
- #endif
- Graphics_info * olgx_initialize();
- void olgx_calculate_3Dcolors();
- unsigned long olgx_get_single_color();
- void olgx_closedown();
- void olgx_destroy();
-
-
- #define olgx_draw_accel_text olgx_draw_accel_label
-
- void
- olgx_set_text_font(),
- #ifdef OW_I18N
- olgx_set_text_fontset(),
- #endif
- olgx_set_glyph_font(),
- olgx_set_single_color(),
- olgx_stipple_rect(),
- olgx_scroll_stipple_rects(),
- olgx_draw_accel_button(),
- olgx_draw_accel_choice_item(),
- olgx_draw_accel_label(),
- olgx_draw_elevator(),
- olgx_draw_button(),
- olgx_draw_choice_item(),
- olgx_draw_scrollbar(),
- olgx_draw_menu_mark(),
- olgx_draw_abbrev_button(),
- olgx_draw_slider(),
- olgx_draw_horizontal_slider(),
- olgx_draw_vertical_slider(),
- olgx_draw_resize_corner(),
- olgx_draw_textscroll_button(),
- olgx_draw_numscroll_button(),
- olgx_draw_gauge(),
- olgx_draw_horiz_gauge(),
- olgx_draw_vertical_gauge(),
- olgx_draw_pushpin(),
- olgx_draw_box(),
- olgx_draw_text(),
- olgx_draw_text_ledge(),
- olgx_draw_check_box();
-
-
- #endif /* !OL_PUBLIC_DEFINED */
-